using System;
using System.Collections.Generic;

namespace UnityEngine.Recorder
{
	public abstract class RecorderInputSetting : ScriptableObject
	{
		public string m_DisplayName;

		public string m_Id;

		public abstract Type inputType
		{
			get;
		}

		public bool storeInScene => Attribute.GetCustomAttribute(GetType(), typeof(StoreInSceneAttribute)) != null;

		public abstract bool ValidityCheck(List<string> errors);

		protected virtual void OnEnable()
		{
			if (string.IsNullOrEmpty(m_Id))
			{
				m_Id = Guid.NewGuid().ToString();
			}
		}
	}
}
